package com.aaa.forum.dao;

import com.aaa.forum.model.Bookmark;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

@Mapper
public interface BookmarkMapper {
    int insert(Bookmark row);

    int insertSelective(Bookmark row);

    Bookmark selectByPrimaryKey(Long id);

    int updateByPrimaryKeySelective(Bookmark row);

    int updateByPrimaryKey(Bookmark row);

    /**
     * 根据用户id和帖子id，获取收藏记录
     * @param userId    用户id
     * @param articleId 帖子id
     * @return          收藏记录
     */
    Bookmark selectByUserIdAndArticleId(Long userId, Long articleId);

    /**
     * 获取收藏状态
     * @param userId        用户id
     * @param articleId     帖子id
     */
    Byte getState(@Param("userId") Long userId, @Param("articleId") Long articleId);

    /**
     * 根据收藏夹id，将该收藏夹中的内容全部移动到默认收藏夹中
     * @param collectionId  收藏夹id
     */
    int moveToDefault(@Param("collectionId") Long collectionId);

    /**
     * 获取收藏夹中收藏的数量
     * @param collectionId  收藏夹id
     */
    int getCountByCollectionId(@Param("collectionId") Long collectionId);
}